/**
 * 获取上传用的 base64 形式的文件内容
 * @param {File} file
 * @description
 * 将文件内容转换为 base64 字符串，会带有文件类型信息
 * `data:${file.type};base64,${base64String}`
 * 因此如果要检查文件是否为空，需要检查`base64String`部分
 * 而不是检查完整的`reader.result`
 */
export const readAsBase64 = (file) => {
  let reader = new FileReader();

  return new Promise((resolve, reject) => {
    function onLoad() {
      const withTypeInfo = reader.result;
      const base64String = withTypeInfo.split(',')[1];
      reader = null;
      resolve([withTypeInfo, base64String]);
    }
    reader.addEventListener('load', onLoad);
    reader.readAsDataURL(file);
  });
}
